package com.ytjj.qmyx.admin.service;

import com.ytjj.common.api.CommonPage;
import com.ytjj.common.api.CommonResult;
import com.ytjj.qmyx.admin.model.Admin;
import com.ytjj.qmyx.admin.model.request.OrderProblemCommitRequest;
import com.ytjj.qmyx.admin.model.request.OrderProblemListRequest;
import com.ytjj.qmyx.admin.model.request.OrderProblemReplyRequest;
import com.ytjj.qmyx.admin.model.response.OrderProblemDetailResponse;
import com.ytjj.qmyx.admin.model.response.OrderProblemExportResponse;
import com.ytjj.qmyx.admin.model.response.OrderProblemListResponse;

import java.util.List;

public interface OrderProblemService {
    /**
     * 提交订单问题
     * @param request
     * @return
     */
    int commitProblem(OrderProblemCommitRequest request, Admin name);

    /**
     * 回复订单问题
     * @param request
     * @return
     */
    int replyProblem(OrderProblemReplyRequest request,Admin admin);

    /**
     * 反馈完成
     * @param id
     * @return
     */
    Integer finishProblem(Integer id);

    /**
     * 列表
     * @param request
     * @return
     */
    CommonPage<OrderProblemListResponse> orderProblemList(OrderProblemListRequest request);

    /**
     * 订单问题详情
     * @param id
     * @return
     */
    CommonResult<OrderProblemDetailResponse> orderProblemDetail(Integer id);

    /**
     * 获取选择接收人
     * @param type 1-客服 2-跟单
     * @return
     */
    List<Admin> getReceiveUser(Integer type);

    /**
     * 修改订单问题的跟单处理状态
     * @param id
     * @param dealStatus
     */
    void updateDealStatus(Integer id, Integer dealStatus);

    /**
     * 导出客服订单问题记录
     * @param request
     * @return
     */
    List<OrderProblemExportResponse> exportOrderProblemList(OrderProblemListRequest request);

    /**
     *修改问题是否加急
     * @param id
     * @param isUrgent
     */
    void updateProblemUrgent(Integer id, Integer isUrgent);
}
